Leadtools.ImageProcessing.SpecialEffects Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.12.11
FreeHandShearCommand Constructor(Int32[],Int32,RasterColor,FreeHandShearCommandFlags)
See Also  Example
Leadtools.ImageProcessing.SpecialEffects Namespace > FreeHandShearCommand Class > FreeHandShearCommand Constructor : FreeHandShearCommand Constructor(Int32[],Int32,RasterColor,FreeHandShearCommandFlags)




amplitudes
Array of integers that represent shear wave values. The real values of the array elements is divided by 1000, and the valid value of each element in the amplitudes array is between -1000 and 1000. These values are generally obtained from the GetCurvePoints utility method.
scale
Factor used to increase or decrease the various amplitude values in the amplitudes array. Each value in the amplitudes array is multiplied by this factor. The real factor value is the scale value divided by 100. The valid range is from 0 to 100.
fillColor
Specifies the fill color for any exposed areas.
flags
Flags that indicate how to handle exposed areas, and the direction of the shear wave.
Initializes a new FreeHandShearCommand class object with explicit parameters.

Syntax

Visual Basic (Declaration) 
Public Function New( _
   ByVal amplitudes() As Integer, _
   ByVal scale As Integer, _
   ByVal fillColor As RasterColor, _
   ByVal flags As FreeHandShearCommandFlags _
)
Visual Basic (Usage)Copy Code
Dim amplitudes() As Integer
Dim scale As Integer
Dim fillColor As RasterColor
Dim flags As FreeHandShearCommandFlags
 
Dim instance As FreeHandShearCommand(amplitudes, scale, fillColor, flags)
C# 
public FreeHandShearCommand( 
   int[] amplitudes,
   int scale,
   RasterColor fillColor,
   FreeHandShearCommandFlags flags
)
Managed Extensions for C++ 
public: FreeHandShearCommand( 
   int[] amplitudes,
   int scale,
   RasterColor fillColor,
   FreeHandShearCommandFlags flags
)
C++/CLI 
public:
FreeHandShearCommand( 
   array<int> amplitudes,
   int scale,
   RasterColor fillColor,
   FreeHandShearCommandFlags flags
)

Parameters

amplitudes
Array of integers that represent shear wave values. The real values of the array elements is divided by 1000, and the valid value of each element in the amplitudes array is between -1000 and 1000. These values are generally obtained from the GetCurvePoints utility method.
scale
Factor used to increase or decrease the various amplitude values in the amplitudes array. Each value in the amplitudes array is multiplied by this factor. The real factor value is the scale value divided by 100. The valid range is from 0 to 100.
fillColor
Specifies the fill color for any exposed areas.
flags
Flags that indicate how to handle exposed areas, and the direction of the shear wave.

Example

Visual BasicCopy Code
ImageProcessing.SpecialEffects.FreeHandShearCommand.FreeHandShearConstructor
   Public Sub FreeHandShearConstructorExample()
      RasterCodecs.Startup()
      Dim codecs As New RasterCodecs()
      codecs.ThrowExceptionsOnInvalidImages = True

      Dim leadImage As RasterImage = codecs.Load("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Master.jpg")

      ' Prepare the command
      Dim userPoint() As Point
      ReDim userPoint(3)
      ' Fill apUserPoint array with points that define a triangular wave
      userPoint(0).X = 0
      userPoint(0).Y = 0
      userPoint(1).X = 3
      userPoint(1).Y = 10
      userPoint(2).X = 9
      userPoint(2).Y = -10
      userPoint(3).X = 12
      userPoint(3).Y = 0

      Dim amplitudes() As Integer
      ReDim amplitudes(12)
      ' Draw a triangular wave according to UserPoint points and store the Amplitudes values in the Amplitudes array.
      EffectsUtilities.GetCurvePoints(amplitudes, userPoint, CurvePointsType.Linear)

      ' Normalize Amplitudes array (maximum value in Amplitudes is 1000 and lower is -1000).
      Dim maximum As Integer
      Dim i As Integer
      maximum = 0
      For i = 0 To 12
         If (maximum < amplitudes(i)) Then
            maximum = amplitudes(i)
         End If
      Next

      If (maximum <> 0) Then
         For i = 0 To 12
            amplitudes(i) = (1000 * amplitudes(i) \ Math.Abs(maximum))
         Next
      End If

      Dim command As FreeHandShearCommand
      command = New FreeHandShearCommand(amplitudes, 100, New RasterColor(0, 0, 0), FreeHandShearCommandFlags.Horizontal Or FreeHandShearCommandFlags.Repeat)
      ' Apply the shear wave horizontally.
      command.Run(leadImage)
      codecs.Save(leadImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Result.jpg", RasterImageFormat.Jpeg, 24)

      RasterCodecs.Shutdown()
   End Sub
C#Copy Code
ImageProcessing.SpecialEffects.FreeHandShearCommand.FreeHandShearConstructor 
      public void FreeHandShearConstructorExample() 
      { 
         // Load an image 
         RasterCodecs.Startup(); 
         RasterCodecs codecs = new RasterCodecs(); 
         codecs.ThrowExceptionsOnInvalidImages = true; 
 
         RasterImage image = codecs.Load(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Master.jpg"); 
 
         // Prepare the command 
         Point[] userPoint = new Point[4]; 
         // Fill apUserPoint array with points that define a triangular wave 
         userPoint[0].X = 0; 
         userPoint[0].Y = 0; 
         userPoint[1].X = 3; 
         userPoint[1].Y = 10; 
         userPoint[2].X = 9; 
         userPoint[2].Y = -10; 
         userPoint[3].X = 12; 
         userPoint[3].Y = 0; 
 
         int[] amplitudes = new int[13]; 
         // Draw a triangular wave according to UserPoint points and store the Amplitudes values in the Amplitudes array. 
         EffectsUtilities.GetCurvePoints(amplitudes, userPoint, CurvePointsType.Linear); 
         // Normalize Amplitudes array (maximum value in Amplitudes is 1000 and lower is -1000). 
         int maximum, i; 
         for(maximum = 0, i = 0; i < 13; i++) 
         { 
            if(maximum < amplitudes [i]) 
               maximum = amplitudes [i]; 
         } 
         if(maximum != 0) 
         { 
            for(i = 0; i < 13; i++) 
            { 
               amplitudes [i] = (1000 * amplitudes [i] / Math.Abs(maximum)); 
            } 
         } 
 
         FreeHandShearCommand command = new FreeHandShearCommand(amplitudes, 100, new RasterColor(0, 0, 0), FreeHandShearCommandFlags.Horizontal | FreeHandShearCommandFlags.Repeat); 
         // Apply the shear wave horizontally. 
         command.Run(image); 
         codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Result.jpg", RasterImageFormat.Jpeg, 24); 
 
         RasterCodecs.Shutdown(); 
      }

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also